#pragma once
#include "data_structure.h"
// 创建场地负责人
FacilityManager create_facility_manager(int id, char* name, int num_facilities, Facility* facilities[MAX_FACILITIES], char* username, char* password,long long phone);
// 初始化场馆负责人链表
void init_FMList(FMList* list);
// 创建场馆负责人节点
FMNode* create_FMNode(FacilityManager* manager);
// 添加场馆负责人
void add_facility_manager(FMList* list, FacilityManager* manager);
// 删除场馆负责人节点
int delete_facility_manager(FMList* list, int manager_id);
// 查找场馆负责人节点
FacilityManager* find_facility_manager(FMList* list, int manager_id);
// 查找场馆负责人(根据账号)
FacilityManager* find_facility_manager_by_username(FMList* list, char* username);
// 打印链表中的所有场馆负责人
void print_facility_managers(FMList* list);

// 场地负责人操作
void manager_operation(char c, System* system,int facility_manager_id);
// 场地负责人操作选择 判断
char judge_manager();
// 密码维护
void password_maintenance(System* system,int facility_manager_id);
// 修改密码
void change_password(System* system,int facility_manager_id);
// 开具场地使用记录
void add_usage_log(System* system,int facility_manager_id);
// 未预约 延长使用时间
void unreserved(System* system,int facility_manager_id);
// 计算时间标签
int index_time(char* time);
// 数字转str
void to_str(int val,char* str);
// 查看管理场地
void show_manager_facility(System* system,int facility_manager_id);
// 判断时间是否合法
bool judge_time(System* system,char* start, char* end, int facility_id,int,int,int);
// 已预约
void have_reserved(System* sys,int facility_manager_id);
// 打印场地管理员相关的预订信息
void print_res_about_facility_manager(System* sys, int facility_manager_id);
// 仅预约场地
void only_type_reserved(System* sys, int facility_manager_id);